Based on a patch by Dave Winchell <dwinchell@virtualiron.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
pt_lock(pt);
pt->pending_intr_nr++;
+ pt->do_not_freeze = 0;
if ( !pt->one_shot )
{
return;
}
- pt->do_not_freeze = 0;
pt->irq_issued = 0;
if ( pt->one_shot )
}
else
{
- if ( mode_is(v->domain, one_missed_tick_pending) )
+ if ( mode_is(v->domain, one_missed_tick_pending) ||
+ mode_is(v->domain, no_missed_ticks_pending) )
{
pt->last_plt_gtime = hvm_get_guest_time(v);
pt->pending_intr_nr = 0; /* 'collapse' all missed ticks */